package edu.eam.gruposenior.gestorLEcciones.controladores;

import java.util.List;

import javax.persistence.EntityManager;

import edu.eam.gruposenior.gestorLEcciones.entidades.Usuario;
import edu.eam.gruposenior.gestorLEcciones.util.FactoryEntityManager;

public class UsuarioController {

	private EntityManager em = FactoryEntityManager.getEm();

	public void crearUsuario(String cedula, boolean estado, String nickname,
			String nombreCompleto, String password, String telefono) {
		em.getTransaction().begin();

		Usuario usuario = new Usuario();

		usuario.setCedula(cedula);
		usuario.setEstado(estado);
		usuario.setNickname(nickname);
		usuario.setNombreCompleto(nombreCompleto);
		usuario.setPassword(password);
		usuario.setTelefono(telefono);

		em.persist(usuario);

		em.getTransaction().commit();
	}

	public void editarUsuario(String cedula, boolean estado, String nickname,
			String nombreCompleto, String password, String telefono)
			throws Exception {

		Usuario usuario = buscarUsuario(cedula);

		if (usuario != null) {

			em.getTransaction().begin();

			usuario.setCedula(cedula);
			usuario.setEstado(estado);
			usuario.setNickname(nickname);
			usuario.setNombreCompleto(nombreCompleto);
			usuario.setPassword(password);
			usuario.setTelefono(telefono);

			em.merge(usuario);

			em.getTransaction().commit();

		} else {
			throw new Exception("El usuario no existe");
		}

	}

	public Usuario buscarUsuario(String cedula) {
		return em.find(Usuario.class, cedula);
	}

	public List<Usuario> usuarios() {
		return em.createNamedQuery(Usuario.FIND_ALL).getResultList();
	}

}
